DEFINITION MODULE DCConvrt;

(*---------------------------------------------------------------------*)
(*   Picture Conversion Routines For DegasConvert                      *)
(*                                                                     *)
(*   The first version of this program was rather simple in the way it *)
(*   allocated black and white patterns to the colours in the picture  *)
(*   to be converted. Specifically, it just used the bits in the index *)
(*   number of a pixel as the pattern to plot.( i.e. a dark colour may *)
(*   come out light in the conversion ). A better way would be to look *)
(*   at the colours in the palette and allocate a shade to it depending*)
(*   on the intensity of the colour of the pixel. This is what is      *)
(*   implemented in this version of the program.                       *)
(*                                                                     *)
(*   Some of the routines in this module will need access to the       *)
(*   display module.                                                   *)
(*                                                                     *)
(*   Routines in this module:                                          *)
(*      1) Given a Degas Picture, convert it to Hi-res giving the      *)
(*         user some clues that we are making progress on it.          *)
(*         ( will use appropriate routine depending on pic. res )      *)
(*      2) Clear a picture                                             *)
(*      3) Given a low rew pic, convert to hi-res.                     *)
(*      4) Convert a med-res pic. to hi-res.                           *)
(*                                                                     *)
(*   Version 1.1      August 1987                    L.G.Miller        *)
(*---------------------------------------------------------------------*)


(*---------------------------------------------------------------------*)
(*           version 1.00         April 1987      L.G. Miller.         *)
(*                                                                     *)
(*   Med-res conversion bug fixed May   1987      L.G. Miller          *)
(*---------------------------------------------------------------------*)

FROM    DCGlobal                IMPORT DegasPicture,
                                       HiResScreen,
                                       MedResScreen,
                                       PrintPalette,
                                       Palette;


(*----------------------------------------------------------------------*)
(* Will use the appropriate routine depending on inpicture resolution   *)
(*----------------------------------------------------------------------*)
PROCEDURE ConvertDegasToHiRes ( VAR inpicture,
                                    outpicture   : DegasPicture;
                                VAR printpalette : PrintPalette );



PROCEDURE ConvertMedDegasToHiRes ( VAR inpicture,
                                       outpicture   : DegasPicture;
                                   VAR printpalette : PrintPalette );



PROCEDURE ConvertLowDegasToHiRes ( VAR inpicture,
                                       outpicture   : DegasPicture;
                                   VAR printpalette : PrintPalette );


PROCEDURE ClearPicture ( VAR picture : DegasPicture );


(*----------------------------------------------------------------------*)
(* Assign print bit patterns to a print palette for a low res picture   *)
(*----------------------------------------------------------------------*)
PROCEDURE SetLowResDefaultPrintPalette ( VAR picturepalette : Palette;
                                         VAR ppalette : PrintPalette );



(*----------------------------------------------------------------------*)
(* Assign print bit patterns to a print palette for a med res picture   *)
(*----------------------------------------------------------------------*)
PROCEDURE SetMedResDefaultPrintPalette ( VAR picturepalette : Palette;
                                         VAR ppalette : PrintPalette );




END DCConvrt.
